#include "logging.h"

static char *
timestamp() 
{
    struct timeval now;
    time_t  tm;
    char   *tp, *p = NULL;

    gettimeofday(&now, 0);
    tm = now.tv_sec;
    tp = ctime(&tm);

    for (p = tp; *p != '\n'; p++);
    *p = '\0';

    return tp;
}


void
print(const char *format, ...)
{
    va_list args;

    va_start(args, format);
    vprintf(format, args);
    va_end(args);
    printf("\n");
}

void
info(const char *format, ...)
{
    va_list args;

    printf("%% ");
    va_start(args, format);
    vprintf(format, args);
    va_end(args);
    printf("\n");
}

void
debug(const char *format, ...)
{
    va_list args;

    printf("%% ");
    va_start(args, format);
    vprintf(format, args);
    va_end(args);
    printf("\n");
}

void
tprint(const char *format, ...)
{
    va_list args;

    printf("[%s] ", timestamp());
    va_start(args, format);
    vprintf(format, args);
    va_end(args);
    printf("\n");
}

void
warning(const char *format, ...)
{
    va_list args;

    printf("%% WARNING: ");
    va_start(args, format);
    vprintf(format, args);
    va_end(args);
    printf("\n");
}

void
error(const char *format, ...)
{
    va_list args;

    fprintf(stderr, "%% ERROR: ");
    va_start(args, format);
    vfprintf(stderr, format, args);
    va_end(args);
    fprintf(stderr, "\n");
}
